/*
* Copyright 2025 NXP
* NXP Proprietary. This software is owned or controlled by NXP and may only be used strictly in
* accordance with the applicable license terms. By expressly accepting such terms or by downloading, installing,
* activating and/or otherwise using the software, you are agreeing that you have read, and that you agree to
* comply with and are bound by, such license terms.  If you do not agree to be bound by the applicable license
* terms, then you may not retain, install, activate or otherwise use the software.
*/

#ifndef GUI_GUIDER_H
#define GUI_GUIDER_H
#ifdef __cplusplus
extern "C" {
#endif

#include "lvgl.h"


typedef struct
{
  
	lv_obj_t *screen;
	bool screen_del;

	lv_obj_t *screen_tabview_1;

	lv_obj_t *screen_tabview_1_tab_1;
	lv_obj_t *screen_tabview_1_tab_2;

	lv_obj_t *screen_cont_2;
	lv_obj_t *screen_background;
	lv_obj_t *screen_lanche;
	lv_obj_t *screen_shang;
	lv_obj_t *screen_people;
	lv_obj_t *screen_chaoshi;
	lv_obj_t *screen_gonjiao;
	lv_obj_t *screen_tingchechang;
	lv_obj_t *screen_fangwu;
	lv_obj_t *screen_gushu;
	lv_obj_t *screen_wifi;
	lv_obj_t *screen_msgbox_1;
	
	lv_obj_t *screen_cont_1;
	lv_obj_t *screen_menu_1;
	lv_obj_t *screen_menu_1_sidebar_page;
	lv_obj_t *screen_menu_1_subpage_1_cont;
	lv_obj_t *screen_menu_1_cont_1;
	lv_obj_t *screen_menu_1_label_1;
	lv_obj_t *screen_menu_1_subpage_2_cont;
	lv_obj_t *screen_menu_1_cont_2;
	lv_obj_t *screen_menu_1_label_2;
	lv_obj_t *screen_menu_1_subpage_3_cont;
	lv_obj_t *screen_menu_1_cont_3;
	lv_obj_t *screen_menu_1_label_3;
	lv_obj_t *screen_btnm_1;
	lv_obj_t *screen_btnm_2;
	lv_obj_t *screen_btnm_3;


	lv_obj_t *screen_label_area_select;


	lv_obj_t *screen_cont_3;
	lv_obj_t *screen_menu_2;
	lv_obj_t *screen_menu_2_sidebar_page;
	lv_obj_t *screen_menu_2_subpage_1_cont;
	lv_obj_t *screen_menu_2_cont_1;
	lv_obj_t *screen_menu_2_label_1;
	lv_obj_t *screen_menu_2_subpage_2_cont;
	lv_obj_t *screen_menu_2_cont_2;
	lv_obj_t *screen_menu_2_label_2;
	lv_obj_t *screen_menu_2_subpage_3_cont;
	lv_obj_t *screen_menu_2_cont_3;
	lv_obj_t *screen_menu_2_label_3;
	lv_obj_t *screen_menu_2_subpage_4_cont;
	lv_obj_t *screen_menu_2_cont_4;
	lv_obj_t *screen_menu_2_label_4;
	lv_obj_t *screen_datetext_1;
	lv_obj_t *screen_digital_clock_1;
	lv_obj_t *screen_analog_clock_1;
	lv_obj_t *screen_analog_clock_1_hour_needle;
	lv_obj_t *screen_analog_clock_1_min_needle;
	lv_obj_t *screen_analog_clock_1_sec_needle;
	lv_obj_t *screen_animimg_1;
	lv_obj_t *screen_list_1;
	lv_obj_t *tianqi_label1;
	lv_obj_t *tianqi_label2;
	lv_obj_t *tianqi_label3;
	lv_obj_t *tianqi_label4;
	lv_obj_t *screen_list_1_item0;
	lv_obj_t *screen_list_1_item1;
	lv_obj_t *screen_list_1_item2;
	lv_obj_t *screen_list_1_item3;
	lv_obj_t *screen_list_1_item4;
	lv_obj_t *screen_list_1_item5;


	lv_obj_t *screen_btn_2;
	lv_obj_t *screen_btn_2_label;
	lv_obj_t *screen_btn_1;
	lv_obj_t *screen_btn_1_label;
	lv_obj_t *screen_ta_1;
	lv_obj_t *keyboard;
	lv_obj_t *screen_label_2;
	lv_obj_t *screen_ddlist_1;
	lv_obj_t *screen_label_3;
	lv_obj_t *screen_label_1;
	lv_obj_t *screen_table_1;

	lv_obj_t *screen_msgbox_2;
	// 滑动块
	lv_obj_t *screen_carousel_1;
	lv_obj_t *screen_carousel_1_element_1;
	lv_obj_t *screen_carousel_1_element_2;
	lv_obj_t *screen_carousel_1_element_3;


	lv_obj_t *screen_carousel_1_element_1_img;
	lv_obj_t *screen_carousel_1_element_2_img;
	lv_obj_t *screen_carousel_1_element_3_img;

	lv_obj_t *info_label1;
	lv_obj_t *info_label2;
	lv_obj_t *info_label3;

}lv_ui;

typedef void (*ui_setup_scr_t)(lv_ui * ui);

void ui_init_style(lv_style_t * style);

void ui_load_scr_animation(lv_ui *ui, lv_obj_t ** new_scr, bool new_scr_del, bool * old_scr_del, ui_setup_scr_t setup_scr,
                           lv_screen_load_anim_t anim_type, uint32_t time, uint32_t delay, bool is_clean, bool auto_del);

void ui_animation(void * var, uint32_t duration, int32_t delay, int32_t start_value, int32_t end_value, lv_anim_path_cb_t path_cb,
                  uint32_t repeat_cnt, uint32_t repeat_delay, uint32_t playback_time, uint32_t playback_delay,
                  lv_anim_exec_xcb_t exec_cb, lv_anim_start_cb_t start_cb, lv_anim_completed_cb_t ready_cb, lv_anim_deleted_cb_t deleted_cb);


void init_scr_del_flag(lv_ui *ui);

void setup_bottom_layer(void);

void setup_ui(lv_ui *ui);

void video_play(lv_ui *ui);

void init_keyboard(lv_ui *ui);

extern lv_ui guider_ui;


void setup_scr_screen(lv_ui *ui);
LV_IMAGE_DECLARE(_background_1_ARGB8888_800x430);
LV_IMAGE_DECLARE(_lanche_RGB565A8_50x50);
LV_IMAGE_DECLARE(_shanmai_ARGB8888_50x50);
LV_IMAGE_DECLARE(_peopple_ARGB8888_50x50);
LV_IMAGE_DECLARE(_chaoshi_ARGB8888_50x50);
LV_IMAGE_DECLARE(_gonjiao_ARGB8888_50x50);
LV_IMAGE_DECLARE(_tingchechang_ARGB8888_50x50);
LV_IMAGE_DECLARE(_fangwu_RGB565A8_50x50);
LV_IMAGE_DECLARE(_gushu_ARGB8888_50x50);
LV_IMAGE_DECLARE(_WIFI_ARGB8888_50x50);

LV_IMAGE_DECLARE(screen_animimg_22_0);
LV_IMAGE_DECLARE(screen_animimg_22_1);
LV_IMAGE_DECLARE(screen_animimg_22_2);
LV_IMAGE_DECLARE(screen_animimg_22_3);
LV_IMAGE_DECLARE(screen_animimg_22_4);
LV_IMAGE_DECLARE(screen_animimg_22_5);
LV_IMAGE_DECLARE(screen_animimg_22_6);
LV_IMAGE_DECLARE(screen_animimg_22_7);
LV_IMAGE_DECLARE(screen_animimg_22_8);

LV_IMAGE_DECLARE(screen_animimg_11_0);
LV_IMAGE_DECLARE(screen_animimg_11_1);
LV_IMAGE_DECLARE(screen_animimg_11_2);
LV_IMAGE_DECLARE(screen_animimg_11_3);
LV_IMAGE_DECLARE(screen_animimg_11_4);
LV_IMAGE_DECLARE(screen_animimg_11_5);
LV_IMAGE_DECLARE(screen_animimg_11_6);
LV_IMAGE_DECLARE(screen_animimg_11_7);
LV_IMAGE_DECLARE(screen_animimg_11_8);

LV_IMAGE_DECLARE(screen_animimg_33_3);
LV_IMAGE_DECLARE(screen_animimg_33_4);
LV_IMAGE_DECLARE(screen_animimg_33_18);
LV_IMAGE_DECLARE(screen_animimg_33_19);
LV_IMAGE_DECLARE(screen_animimg_33_20);
LV_IMAGE_DECLARE(screen_animimg_33_21);
LV_IMAGE_DECLARE(screen_animimg_33_22);
LV_IMAGE_DECLARE(screen_animimg_33_23);
LV_IMAGE_DECLARE(screen_animimg_33_24);

LV_IMAGE_DECLARE(screen_animimg_44_1);
LV_IMAGE_DECLARE(screen_animimg_44_2);
LV_IMAGE_DECLARE(screen_animimg_44_3);
LV_IMAGE_DECLARE(screen_animimg_44_10);
LV_IMAGE_DECLARE(screen_animimg_44_11);
LV_IMAGE_DECLARE(screen_animimg_44_12);
LV_IMAGE_DECLARE(screen_animimg_44_13);
LV_IMAGE_DECLARE(screen_animimg_44_14);
LV_IMAGE_DECLARE(screen_animimg_44_15);

LV_IMAGE_DECLARE(screen_animimg_55_0);
LV_IMAGE_DECLARE(screen_animimg_55_1);
LV_IMAGE_DECLARE(screen_animimg_55_2);
LV_IMAGE_DECLARE(screen_animimg_55_10);
LV_IMAGE_DECLARE(screen_animimg_55_11);
LV_IMAGE_DECLARE(screen_animimg_55_12);
LV_IMAGE_DECLARE(screen_animimg_55_13);
LV_IMAGE_DECLARE(screen_animimg_55_14);
LV_IMAGE_DECLARE(screen_animimg_55_15);

LV_IMAGE_DECLARE(_1_0_RGB565A8_100x50);
LV_IMAGE_DECLARE(_2_0_RGB565A8_100x50);
LV_IMAGE_DECLARE(_3_0_RGB565A8_100x50);
LV_IMAGE_DECLARE(_4_0_RGB565A8_100x50);
LV_IMAGE_DECLARE(_5_0_RGB565A8_100x50);
LV_IMAGE_DECLARE(lanche);
LV_IMAGE_DECLARE(shang);

LV_FONT_DECLARE(lv_font_montserratMedium_12)
LV_FONT_DECLARE(lv_font_montserratMedium_19)
LV_FONT_DECLARE(lv_font_montserratMedium_16)
LV_FONT_DECLARE(lv_font_Alatsi_Regular_13)
LV_FONT_DECLARE(lv_font_montserratMedium_14)
LV_FONT_DECLARE(lv_font_montserratMedium_30)
LV_FONT_DECLARE(lv_font_Alatsi_Regular_22)
LV_FONT_DECLARE(lv_font_Alatsi_Regular_25)
LV_FONT_DECLARE(lv_font_montserratMedium_18)
LV_FONT_DECLARE(lv_font_arial_16)


#ifdef __cplusplus
}
#endif
#endif
